import request from '@/utils/request'

// 角色名称查询重复
export function checkRoleNameUnique(id, name) {
  const data = {
    'roleId': id,
    'roleName': name
  }
  return request({
    url: '/sys/role/checkRoleNameUnique',
    method: 'post',
    params: data
  })
}

// 权限字符查询重复
export function checkRoleKeyUnique(id, roleKey) {
  const data = {
    'roleId': id,
    'roleKey': roleKey
  }
  return request({
    url: '/sys/role/checkRoleKeyUnique',
    method: 'post',
    params: data
  })
}

// 获取角色列表
export function listRole(query) {
  return request({
    url: '/sys/role/list',
    method: 'post',
    params: query
  })
}
// 获取角色列表全部(无权限)
export function listRoleAll(query) {
  return request({
    url: '/sys/role/listAll',
    method: 'post',
    params: query
  })
}

// 根据id查找内容
export function getRoleByRoleId(id) {
  return request({
    url: '/sys/role/get/' + id,
    method: 'get'
  })
}

// 更新角色
export function updateRole(data) {
  return request({
    url: '/sys/role/update',
    method: 'post',
    params: data
  })
}

// 更改角色状态
export function updateRoleStatus(data) {
  return request({
    url: '/sys/role/changeStatus',
    method: 'post',
    params: data
  })
}

// 添加角色
export function addRole(data) {
  return request({
    url: '/sys/role/add',
    method: 'post',
    params: data
  })
}

// 删除角色
export function delRole(ids) {
  const data = {
    'ids': ids
  }
  return request({
    url: '/sys/role/remove',
    method: 'post',
    params: data
  })
}

/** 角色分配数据权限 */

// 根据角色id查找选中的树形菜单
export function getMenuIdsByRoleId(roleId) {
  return request({
    url: '/sys/role/getMenuPermissionByRoleId/' + roleId,
    method: 'get'
  })
}

// 根据角色id查找选中了那些菜单和默认数据权限
export function getSelectedIdAndDefaultPermissionsByRoleId(roleId) {
  return request({
    url: '/sys/role/getSelectedIdAndDefaultPermissionsByRoleId/' + roleId,
    method: 'get'
  })
}

// 根据角色id查找默认数据权限
export function getDefaultPermissionsByRoleId(roleId) {
  return request({
    url: '/sys/role/getDefaultPermissionsByRoleId/' + roleId,
    method: 'get'
  })
}

// 保存角色选择的菜单和数据权限
export function addOrupdateRoleMenuAndDataScope(data) {
  return request({
    url: 'sys/role/roleMenuAndDataScope',
    method: 'post',
    data,
    headers: { 'content-type': 'application/json' }
  })
}

// 查询角色的最大值
// export function getMaxRoleSort() {
//   return request({
//     url: '/sys/role/getMaxRoleSort',
//     method: 'get'
//   })
// }

// 查询角色序号最大值
export function getMaxRoleSort() {
  return request({
    url: '/sys/role/getDataCount',
    method: 'post'
  })
}

